/**
 * 
 */
package net.sahv.bdyz.service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import net.sahv.bdyz.mapper.PatternMapper;
import net.sahv.bdyz.model.Member;
import net.sahv.bdyz.model.Pattern;
import net.sahv.bdyz.util.PageInfo;

/**
 * @author 张天敏
 * @date 日期：2016年8月3日 时间：下午4:27:15
 */
@Service
public class PatternService {
	
	@Autowired
	private PatternMapper patternMapper;
	
    public int insert(Pattern record){
    	return patternMapper.insert(record);
    }
    
    public Pattern selectByPrimaryKey(Integer pId){
    	return patternMapper.selectByPrimaryKey(pId);
    }
    public int updateByPrimaryKey(Pattern record){
    	return patternMapper.updateByPrimaryKey(record);
    }
    public Pattern selectByNo(String oNo){
    	return patternMapper.selectByNo(oNo);
    }
    public List<Pattern> selectAll(){
    	return patternMapper.selectAll();
    }
    
    public List<Map<String, Object>> findAll(PageInfo pageInfo, String canshu, String order,Member member){
    	String where =" 1=1 and P_VIP in(1,2,3) and P_BUYOUT_STATE=0 and P_IS_DELETE=0 ";
    	if(!canshu.equals("all")){
    		String[] tiaojian = canshu.split("-");
        	for(String item:tiaojian){
        		if(item.equals("04")){
        			order+="  GUANZHUDU DESC, ";
        		}else if(item.equals("03")){
        			order+="  P_CREATE_TIME DESC, ";
        		}else{
        			where+= " AND FIND_IN_SET('"+item+"', TIAOJIAN) ";
        		}
        	}
        	order+="  P_ID DESC ";
		}else{
			//where+= " AND FIND_IN_SET('01', TIAOJIAN) ";
			order+="  rand() ";
		}
		Map<String, Object> param = new HashMap<String, Object>();
		param.put("myCount", pageInfo.getCount());
		param.put("pageSize", pageInfo.getPageSize());
		param.put("page", pageInfo.getPage());
		param.put("where", where);
		param.put("order", order);
		if(member!=null){
			param.put("mId", member.getmId());
		}
		List<Map<String, Object>> m = patternMapper.findAll(param);
		pageInfo.setCount(Integer.parseInt(param.get("myCount").toString()));
		return m;
	}

    public List<Map<String, Object>> findAllByImg(PageInfo pageInfo, String canshu, String order,Member member,String where){  	
    	if(!canshu.equals("all")){
    		String[] tiaojian = canshu.split("-");
        	for(String item:tiaojian){
        		if(item.equals("04")){
        			order+=" , GUANZHUDU DESC ";
        		}else if(item.equals("03")){
        			order+=" , P_CREATE_TIME DESC ";
        		}else{
        			where+= " AND FIND_IN_SET('"+item+"', TIAOJIAN) ";
        		}
        	}
		}/*else{
			where+= " AND FIND_IN_SET('01', TIAOJIAN) ";
		}*/
		Map<String, Object> param = new HashMap<String, Object>();
		param.put("myCount", pageInfo.getCount());
		param.put("pageSize", pageInfo.getPageSize());
		param.put("page", pageInfo.getPage());
		param.put("where", where);
		param.put("order", order);
		if(member!=null){
			param.put("mId", member.getmId());
		}
		List<Map<String, Object>> m = patternMapper.findAll(param);
		pageInfo.setCount(Integer.parseInt(param.get("myCount").toString()));
		return m;
	}

	/**
	 * @author 作者 : 任凯伟
	 * @date 创建时间：2016年8月5日 下午4:43:09
	 * @version 1.0
	 * @param mId
	 * @see 分页查询花型列表信息
	 * @param
	 * @parameter
	 * @since
	 * @return
	 */
	public List<Map<String, Object>> getByPage(PageInfo pageInfo, String where, String order, int mId) {
		Map<String, Object> param = new HashMap<String, Object>();
		param.put("pageSize", pageInfo.getPageSize());
		param.put("begin", (pageInfo.getPage() - 1) * pageInfo.getPageSize());
		param.put("where", where);
		param.put("order", order);
		param.put("mId", mId);
		List<Map<String, Object>> m = patternMapper.getByPage(param);
		return m;
	}

	/**
	 * 分页查询列表
	* @author  作者 : 周晓娜
	* @date 创建时间：2016年8月9日 下午4:19:55
	* @param
	* @parameter
	* @return
	 */
    public List<Map<String, Object>> getList(Map<String, Object> param) {
		return patternMapper.getList(param);
	}
    /**
     * 上传图片
    * @author  作者 : 周晓娜
    * @date 创建时间：2016年8月10日 上午10:18:24
    * @param
    * @parameter
    * @return
     */
    public int upImg(Pattern record){
    	return patternMapper.upImg(record);
    }
    /**
     * 批量删除
    * @author  作者 : 周晓娜
    * @date 创建时间：2016年8月11日 上午9:12:05
    * @param
    * @parameter
    * @return
     */
    public int DeleteById(Integer id)
    {
    	return patternMapper.deleteByPrimaryKey(id);
    }
    /**
     * 修改编号和尺寸
    * @author  作者 : 周晓娜
    * @date 创建时间：2016年8月11日 上午9:23:29
    * @param
    * @parameter
    * @return
     */
    public int updateNoAndCC(Pattern record)
    {
    	return patternMapper.updateNoAndCC(record);
    }
     
	/**
	 * 修改销售区
	 * 
	 * @author 作者 : 周晓娜
	 * @param pVip
	 * @date 创建时间：2016年8月11日 上午9:29:27
	 * @param
	 * @parameter
	 * @return
	 */
	public int updateVip(String pIds, Integer pVip)
    {
		return patternMapper.updateVip(pIds, pVip);
    }
    public int updateFilter(Pattern record)
    {
    	return patternMapper.updateFilter(record);
    }
    public int updateTiaoJian(Pattern record)
    {
    	return patternMapper.updateTiaoJian(record);
    }

	public int guanzhu(Integer pId) {
		return patternMapper.guanzhu(pId);
	}
	public int quxiaoguanzhu(Integer pId) {
		return patternMapper.quxiaoguanzhu(pId);
	}

	public List<Pattern> findAllBylimit(Pattern pattern) {
		return patternMapper.findAllBylimit(pattern);
	}

	/**
	 * @author 作者 : 任凯伟
	 * @date 创建时间：2016年8月19日 下午6:07:05
	 * @version 1.0
	 * @see
	 * @param
	 * @parameter
	 * @since
	 * @return
	 */
	public List<Pattern> getById(String pId) {
		return patternMapper.getById(pId);
	}

	/**
	 * @author 作者 : 任凯伟
	 * @date 创建时间：2016年8月22日 上午9:51:23
	 * @version 1.0
	 * @see 插叙默认试衣间花型
	 * @param
	 * @parameter
	 * @since
	 * @return
	 */
	public List<Pattern> findDefaultPattern() {
		return patternMapper.findDefaultPattern();
	}

	/**
	 * 排除重复上传选项
	 * @author 张天敏
	 * @date 日期：2016年8月23日 时间：下午2:46:23
	 * @param returnImg
	 * @return
	 */
	public int selectCountByPImg(String returnImg) {
		return patternMapper.selectCountByPImg(returnImg);
	}

	/**
	 * @author 作者 : 任凯伟
	 * @date 创建时间：2016年9月3日 上午8:55:51
	 * @version 1.0
	 * @see
	 * @param
	 * @parameter
	 * @since
	 * @return
	 */
	public Integer getTotalCount(String where) {
		return patternMapper.getTotalCount(where);
	}

	/**
	 * @author 作者 : 任凯伟
	 * @date 创建时间：2016年10月13日 下午1:46:03
	 * @version 1.0
	 * @see
	 * @param
	 * @parameter
	 * @since
	 * @return
	 */
	public int getCountByShowId(Integer id) {
		return patternMapper.getCountByShowId(id);
	}

	/**
	 * @author 作者 : 任凯伟
	 * @date 创建时间：2016年10月13日 下午2:17:56
	 * @version 1.0
	 * @see
	 * @param pfId
	 *            花型属性 id
	 * @param pfName
	 * @parameter
	 * @since
	 * @return
	 */
	public int getCountPatternFilter(int pfId, String pfName) {
		return patternMapper.getCountPatternFilter(pfId, pfName);
	}

	/** 
	* @author  作者 : 任凯伟
	* @date 创建时间：2016年10月20日 上午9:18:39 
	* @version 1.0 
	* @see 
	* @param
	* @parameter  
	* @since  
	* @return 
	*/
	public int getCountByThemeId(Integer themeId) {
		return patternMapper.getCountByThemeId(themeId);
	}
}

